package com.bsoft.gol.hcs.clinical.entity;


import javax.persistence.*;
import java.util.Date;
import java.util.Objects;

@Entity
@Table(name = "navigation_list_settings",  catalog = "")
public class NavigationListSettings {
    private long id;
    private String hospitalCode;
    private String moduleCode;
    private String moduleName;
    private Integer guideCode;
    private String guideName;
    private Byte matchingType;
    private Byte matchingParameter;
    private String parameterValue;
    private Byte moduleStatus;
    private Date gmtCreate;
    private Date gmtModified;

    @Id
    @Column(name = "id")
    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    @Basic
    @Column(name = "hospital_code")
    public String getHospitalCode() {
        return hospitalCode;
    }

    public void setHospitalCode(String hospitalCode) {
        this.hospitalCode = hospitalCode;
    }

    @Basic
    @Column(name = "module_code")
    public String getModuleCode() {
        return moduleCode;
    }

    public void setModuleCode(String moduleCode) {
        this.moduleCode = moduleCode;
    }

    @Basic
    @Column(name = "module_name")
    public String getModuleName() {
        return moduleName;
    }

    public void setModuleName(String moduleName) {
        this.moduleName = moduleName;
    }

    @Basic
    @Column(name = "guide_code")
    public Integer getGuideCode() {
        return guideCode;
    }

    public void setGuideCode(Integer guideCode) {
        this.guideCode = guideCode;
    }

    @Basic
    @Column(name = "guide_name")
    public String getGuideName() {
        return guideName;
    }

    public void setGuideName(String guideName) {
        this.guideName = guideName;
    }

    @Basic
    @Column(name = "matching_type")
    public Byte getMatchingType() {
        return matchingType;
    }

    public void setMatchingType(Byte matchingType) {
        this.matchingType = matchingType;
    }

    @Basic
    @Column(name = "matching_parameter")
    public Byte getMatchingParameter() {
        return matchingParameter;
    }

    public void setMatchingParameter(Byte matchingParameter) {
        this.matchingParameter = matchingParameter;
    }

    @Basic
    @Column(name = "parameter_value")
    public String getParameterValue() {
        return parameterValue;
    }

    public void setParameterValue(String parameterValue) {
        this.parameterValue = parameterValue;
    }

    @Basic
    @Column(name = "module_status")
    public Byte getModuleStatus() {
        return moduleStatus;
    }

    public void setModuleStatus(Byte moduleStatus) {
        this.moduleStatus = moduleStatus;
    }

    @Basic
    @Column(name = "gmt_create")
    public Date getGmtCreate() {
        return gmtCreate;
    }

    public void setGmtCreate(Date gmtCreate) {
        this.gmtCreate = gmtCreate;
    }

    @Basic
    @Column(name = "gmt_modified")
    public Date getGmtModified() {
        return gmtModified;
    }

    public void setGmtModified(Date gmtModified) {
        this.gmtModified = gmtModified;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        NavigationListSettings that = (NavigationListSettings) o;
        return id == that.id &&
                Objects.equals(hospitalCode, that.hospitalCode) &&
                Objects.equals(moduleCode, that.moduleCode) &&
                Objects.equals(moduleName, that.moduleName) &&
                Objects.equals(guideCode, that.guideCode) &&
                Objects.equals(guideName, that.guideName) &&
                Objects.equals(matchingType, that.matchingType) &&
                Objects.equals(matchingParameter, that.matchingParameter) &&
                Objects.equals(parameterValue, that.parameterValue) &&
                Objects.equals(moduleStatus, that.moduleStatus) &&
                Objects.equals(gmtCreate, that.gmtCreate) &&
                Objects.equals(gmtModified, that.gmtModified);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id, hospitalCode, moduleCode, moduleName, guideCode, guideName, matchingType, matchingParameter, parameterValue, moduleStatus, gmtCreate, gmtModified);
    }
}